package com.xbongbong.pro.domain.dao;

import com.xbongbong.pro.domain.entity.AiAssistantEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @description: 智能助手
 * @Author: hongxiao
 * @date: 2019-04-23 19:29
 * @since v1.0
 */
@Repository
@Mapper
public interface AiAssistantDao {
    Integer insert(AiAssistantEntity aiAssistantEntity);

    Integer update(AiAssistantEntity aiAssistantEntity);

    void insertBatch(List<AiAssistantEntity> entityList);

    Integer deleteByKey(@Param("key") Long key, @Param("corpid") String corpid);

    AiAssistantEntity getByKey(@Param("key") Long key, @Param("corpid") String corpid);

    List<AiAssistantEntity> findEntitys(@Param("param") Map<String, Object> param);

    Integer getEntitysCount(@Param("param") Map<String, Object> param);

    List<String> findCorps(@Param("param") Map<String, Object> param);

    Integer getCorpsCount();

    /**
     * 获取只有一个触发条件的数据
     * @param
     * @return
     * @throws
     * @author hongxiao
     * @date 2019-05-29 14:04
     * @since v1.0
     * @version v1.0
     */
    List<AiAssistantEntity> getOneCondition( @Param("corpid") String corpid, @Param("formId") Long formId);
    /**
     * 批量更新（enable，action，updateTime，strategy，executor，smsExecutor,menuId）
     *
     * @param entityList 实体列表
     * @param corpid 公司id
     * @throws
     * @return
     * @author hongxiao
     * @date 2019-12-06 11:01
     * @since
     * @version
     */
    void updateBatch(@Param("list") List<AiAssistantEntity> entityList, @Param("corpid") String corpid);
    /**
     * 获取所有公司id
     *
     * @return
     */
    List<String> getCorpidList();
}
